A hosted application is a software application where the software resides on servers that are accessed through a wide-area network, such as the Internet, rather than more traditional on-premise software that is installed on a local server computer or on individual client computers. Hosted applications may also be known as Internet applications, application service providers (“ASPs”), World Wide Web (“Web”)-based applications, or on-line applications. Hosted applications are commonly utilized concurrently by multiple customers called “tenants.” Such applications are referred to herein as hosted multi-tenant applications.
As software is being more frequently offered as a service, such as through hosted multi-tenant applications for instance, customers are losing some of the flexibility that comes with on-premise software. For instance, when adopting a new version of on-premise software, customers often take actions such as training or testing with other integrated solutions. Even without a version upgrade, customers often have the need to make substantial changes to the software, such as importing a large amount of data, and would prefer to be able to practice these operations prior to executing them on production data. As a result, customers often create temporary “production-like” versions of their systems to accomplish these scenarios without affecting the day-to-day use of their production system. However, due to significant architectural limitations in current hosted applications, ASPs cannot typically provide this type of flexibility to the tenants of a hosted multi-tenant application.
It is with respect to these considerations and others that the disclosure made herein is provided.